#!/usr/bin/python # -*- coding:utf-8 -*- 
from ftplib import FTP 

def ftp_upload(ID,path,filename):
    ftp = FTP()
    # # 打开调试级别2, 显示详细信息 
    # ftp.set_debuglevel(2)
    # # 服务器IP和端口
    ftp.connect("121.40.144.89", 21)
    # # 匿名登陆, 如果需要登陆, 就把两个空字符串写上用户名和密码就行了("username", "password")
    ftp.login("foo", "1000")
    #切换目录, 相对于ftp目录, 比如设置的ftp根目录为/vat/ftp, 那么pub就是/var/ftp下面的目录 ftp.cwd("pub")
    #查看目录下有哪些文件, 如果文件名已经存在, 那么再次上传同一个文件就会报错, 返回列表
    # ftp.nlst("/pic/dev_id/") # 使用二进制的方式打开文件
    f = open('{}{}'.format(path,filename), 'rb')
    remote_path ="/pic/{}".format(ID)
    #上传文件, bufsize缓冲区大小
    try:
        ftp.mkd(remote_path)
    except Exception as e:
        print("<Error> : ",e)

    print(ftp.cwd(remote_path))
    ftp.storbinary("STOR {}".format(filename),f)
    # ftp.storbinary("STOR {}".format("main.py"), f[1024])
    f.close()
    # 关闭调试模式
    # ftp.set_debuglevel(0)
    #退出FTP连接
    ftp.quit()

if __name__ == '__main__':
    ftp_upload('fdf394e43fc8','./exe/tmp/','WIN_20210530_17_06_32_Pro.jpg')